package com.lodz.android.designpatterndemo.designpattern.factory;

/**
 * 简单工厂，工厂方法，抽象工厂的区别
 * Created by zhouL on 2016/11/10.
 */

public interface Readme {

    /**
     * http://blog.csdn.net/superbeck/article/details/4446177
     *
     * 1、简单工厂:简单工厂模式的工厂类一般是使用静态方法，通过接收的参数的不同来返回不同的对象实例。
     *  不修改代码的话，是无法扩展的。
     *
     * 总结：用来生产同一等级结构中的任意产品。（对于增加新的产品，无能为力）
     *
     * 2、工厂方法：工厂方法是针对每一种产品提供一个工厂类。通过不同的工厂实例来创建不同的产品实例。
     *  在同一等级结构中，支持增加任意产品。
     *
     * 总结：用来生产同一等级结构中的固定产品。（支持增加任意产品）
     *
     * 3、抽象工厂：抽象工厂是应对产品族概念的。
     *  比如说，每个汽车公司可能要同时生产轿车，货车，客车，那么每一个工厂都要有创建轿车，货车和客车的方法。
     *  应对产品族概念而生，增加新的产品线很容易，但是无法增加新的产品。
     *
     * 总结：用来生产不同产品族的全部产品。（对于增加新的产品，无能为力；支持增加产品族）
     */
}
